1527C - Sequence Pair Weight - CodeForces Solution


hashing implementation math *1600

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;
#define ios ios::sync_with_stdio(0)
#define endl '\n'
#define int long long
#define ar array<int, 2>
#define arr array<int, 3>
const int N = 2e5 + 5, M = 2 * N;
const int inf = 0x3f3f3f3f3f3f3f3f;
int mod = 998244353; //1e9+7;
int t, n, m, k;

signed main()
{
    ios;
#ifdef DEBUG
    freopen("../1.in", "r", stdin);
#endif
    cin >> t;
    while (t--)
    {
        // 这种全子集 一般都是
        // 还是贡献的角度。。
        // 比如i j 一对 那么 左边i个 右边 n-i+1个 。。组成的所有区间 都会贡献。
        // 如果后面还有 k 也是 。也都是要再次算入。。
        // 因为虽然是同一个区间和i j  但是他们算的是两个不同的对子。。
        // 而且这边采用前缀和 是以后面那个主视角的枚举。。。也是技巧。
        cin >> n;
        map<int, int> f;
        int ans = 0;
        for (int i = 1; i <= n; ++i)
        {
            int x;
            cin >> x;
            ans += f[x] * (n - i + 1);
            f[x] += i;
        }
        cout << ans << endl;
    }
};


Comments

Submit
0 Comments
More Questions

1350A - Orac and Factors
1373A - Donut Shops
26A - Almost Prime
1656E - Equal Tree Sums
1656B - Subtract Operation
1656A - Good Pairs
1367A - Short Substrings
87A - Trains
664A - Complicated GCD
1635D - Infinite Set
1462A - Favorite Sequence
1445B - Elimination
1656C - Make Equal With Mod
567A - Lineland Mail
1553A - Digits Sum
1359B - New Theatre Square
766A - Mahmoud and Longest Uncommon Subsequence
701B - Cells Not Under Attack
702A - Maximum Increase
1656D - K-good
1426A - Floor Number
876A - Trip For Meal
1326B - Maximums
1635C - Differential Sorting
961A - Tetris
1635B - Avoid Local Maximums
20A - BerOS file system
1637A - Sorting Parts
509A - Maximum in Table
1647C - Madoka and Childish Pranks